package aiku.numericalcontroloa.Service.EmployeeAttendance;

import aiku.numericalcontroloa.Base.Utils.Result;
import aiku.numericalcontroloa.Model.Dto.EmployeeAttendance.ClockinRuleDto;
import aiku.numericalcontroloa.Model.Dto.EmployeeAttendance.HolidaysDto;
import aiku.numericalcontroloa.Model.Entity.EmployeeAttendance.ClockinRule;

import java.math.BigDecimal;

/**
 * @Author 黄广庭
 * @Date 2024/2/29 17:40
 */
public interface ClockinRuleService {
    Result getClockinRule(ClockinRuleDto clockinRuleDto);

    Result getClockinRuleList(ClockinRuleDto clockinRuleDto);

    Result updateClockinRule(ClockinRuleDto clockinRuleDto);

    Result getHolidays();

    Result resetClockinRule(ClockinRuleDto clockinRuleDto);

    Result addHolidays(HolidaysDto holidaysDto);

    Result updateHolidays(HolidaysDto holidaysDto);

    Result deleteHolidays(HolidaysDto holidaysDto);

    Result getHoliday(HolidaysDto holidaysDto);

    BigDecimal[] getClockinPositionList(String stringCoordinate);

    ClockinRule getDepartmentClockinRule(String departmentId);

    Result isHoliday();
}
